Implementing Framework Crosscutting Extensions with EJPs and AspectJ
نویسندگان
چکیده
In a previous work, we proposed a framework extension approach based on the use of a new concept, called Extension Join Points (EJPs). EJPs enable the framework systematic extension by means of variability and integration aspects. In this paper, we show how EJPs can be implemented using the mechanisms of the AspectJ language. To evaluate the usefulness of the EJPs in the framework extension process, we have used them in the development of three OO frameworks from different domains. As a result of our case studies, we present: (i) an initial categorization of different kinds of contracts between frameworks, EJPs and aspects which can be implemented in AspectJ; and (ii) a set of lessons learned when specifying the EJPs. Resumo. Uma abordagem para extensão de frameworks baseada em um novo conceito, denominado Extension Join Points (EJPs), tem sido proposta anteriormente. EJPs possibilitam a extensão sistemática de frameworks, através do uso de aspectos de variabilidade e integração. Neste artigo, nós mostramos como os EJPs podem ser implementados usando os mecanismos da linguagem AspectJ. Para avaliar a utilidade dos EJPs no processo de extensão de frameworks, nós os utilizamos no desenvolvimento de 3 frameworks OO de diferentes domínios. Como um resultado de nossos estudos de caso, nós apresentamos: (i) uma categorização inicial de diferentes tipos de contratos entre frameworks, EJPs e aspectos, os quais podem ser implementados em AspectJ; e (ii) um conjunto de lições aprendidas quando especificando os EJPs.
منابع مشابه
Reducing the Complexity of AspectJ Mechanisms for Recurring Extensions
Aspect-Oriented Programming (AOP) aims at modularizing crosscutting concerns. AspectJ is a popular AOP language extension for Java that includes numerous sophisticated mechanisms for implementing crosscutting concerns modularly in one aspect. The language allows to express complex extensions, but at the same time the complexity of some of those mechanisms hamper the writing of simple and recurr...
متن کاملHow AspectJ is Used: An Analysis of Eleven AspectJ Programs
While it is well-known that crosscutting concerns occur in many software projects, little is known on how aspect-oriented programming, and in particular AspectJ, have been used. In this paper, we analyze eleven AspectJ programs by different authors to answer the questions: which mechanisms are used, to what extent, and for what purpose. We found the code of these programs to be on average 86% o...
متن کاملImplementing Known Concepts in AspectJ
AspectJ is a so-called general-purpose aspect-language which tries to solve the problem of crosscutting code. An often uttered criticism of AspectJ is that there is no underlying concept in the implemented language features and that those features are rather arbitrary chosen instead of being based on any theoretical foundations. This paper shows beyond the the context of crosscutting and tangli...
متن کاملImplementing concern - specific languages with abc Seminar on Aspect - oriented programming
In this work first we introduce the notion of concern specific languages (CSL) [Bod05] which are to a specific crosscutting concern, what domain specific languages are to a specific domain. Implementing such CSLs was a tedious task in the past since no extensible frameworks for implementing crosscutting concerns existed. Ostermann and Mezini [OM05] proposed a Prolog based implementation of aspe...
متن کاملAn Overview of AspectJ
AspectJTM is a simple and practical aspect-oriented extension to JavaTM. With just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns. In AspectJ’s dynamic join point model, join points are well-defined points in the execution of the program; pointcuts are collections of join points; advice are special method-like constructs that can be...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006